﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>GetFilesW</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>GetFilesW</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">экспортируемые функции</a> |
<a href="../panelapi/index.html">Panel API</a>
</div>

<div class=shortdescr>
Функция <code>GetFilesW</code> вызывается для получения файлов из эмулируемой файловой системы<br>
(<em>Far Manager плагину: "хочу этот/эти файл(ы) с твоей панели, место назначения указано"</em>).
</div>

<pre class=syntax>
intptr_t WINAPI GetFilesW(
  struct GetFilesInfo *Info
);
</pre>

<h3>Параметры</h3>
<div class=descr>
  <div class=dfn>Info</div>
    <div class=dfndescr>Указатель на структуру <a  href="../structures/getfilesinfo.html">GetFilesInfo</a>. Far Manager передает информацию об элементах, которые он запросил для обработки. Плагин может изменять некоторые значения полей структуры в этой функции.<br>
    В начале функции проверьте, что поле <code>GetFilesInfo.StructSize >= sizeof(GetFilesInfo)</code>.</div>
</div>

<h3>Возвращаемое значение</h3>
<div class=descr>
<ul>
<li>В случае успеха возвращаемое значение должно быть равно <code>1</code>.
<li>В случае провала возвращаться <code>0</code>.
<li>Если функция была прервана пользователем, то должно возвращаться <code>-1</code>.
</ul>
</div>

<h3>Замечания</h3>
<div class=descr>
<ol>
<li>Плагин должен сам обрабатывать "свои" папки.
<li>Если операция не удалась, но часть файлов была успешно обработана, плагин может снять выделение только с обработанных файлов. Чтобы сделать это,
    он должен очистить флаг <a href="../structures/pluginpanelitem.html#PPIF_SELECTED">PPIF_SELECTED</a> в обработанных элементах в переданном функции списке структур <code>PluginPanelItem</code>.
<li>Данная функция вызывается только для плагинов, реализующих виртуальные файловые системы.
    Для этого необходимо при вызове <a href="getopenpanelinfow.html">GetOpenPanelInfoW</a> снять флаг <a href="../structures/openpanelinfo.html#OPIF_REALNAMES">OPIF_REALNAMES</a>,
    иначе данная функция никогда не будет вызвана.
</ol>
</div>

<h3>Пример</h3>
<div class=descr>
Пример из плагина "ProcList".
<pre class=code>
intptr_t WINAPI GetFilesW(struct GetFilesInfo *Info)
{
  return ((Plist *)Info->hPanel)->GetFiles(Info->PanelItem,(int)Info->ItemsNumber,Info->Move,&Info->DestPath,Info->OpMode);
}
</pre>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="putfilesw.html">PutFilesW</a>,
<a href="../service_functions/getdirlist.html">GetDirList</a>,
<a href="../service_functions/getplugindirlist.html">GetPluginDirList</a>
</div>

</body>
</html>